🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / core / repository / src / commonMain / kotlin / org / meshtastic / core / repository / AppPreferences.kt
Displaying Raw • Download
core/repository/src/commonMain/kotlin/org/meshtastic/core/repository/AppPreferences.kt bf929c20f274232e0eb8ddc19b2dc82403e99e5b (bf929c20) Text, 10.18 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.core.repository
Tff7b72import T7ee787kotlinx.coroutines.flow.StateFlow
Tff7b72import T7ee787org.meshtastic.core.model.DeviceType
T8b949e/** Reactive interface for analytics-related preferences. */
Tff7b72interface T56d364AnalyticsPrefs Tb4b4b4{
Tff7b72val Te6edf3analyticsAllowedTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetAnalyticsAllowedTb4b4b4(Te6edf3allowedTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3installIdTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657StringTff7b72>
Tb4b4b4}
T8b949e/** Reactive interface for homoglyph encoding preferences. */
Tff7b72interface T56d364HomoglyphPrefs Tb4b4b4{
Tff7b72val Te6edf3homoglyphEncodingEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetHomoglyphEncodingEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for message filtering preferences. */
Tff7b72interface T56d364FilterPrefs Tb4b4b4{
Tff7b72val Te6edf3filterEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetFilterEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3filterWordsTb4b4b4: Te6edf3StateFlowTff7b72<Te6edf3SetTff7b72<Tffa657StringTff7b72>Tff7b72>
Tff7b72fun Td2a8ffsetFilterWordsTb4b4b4(Te6edf3wordsTb4b4b4: Te6edf3SetTff7b72<Tffa657StringTff7b72>Tb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for mesh log preferences. */
Tff7b72interface T56d364MeshLogPrefs Tb4b4b4{
Tff7b72val Te6edf3retentionDaysTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72>
Tff7b72fun Td2a8ffsetRetentionDaysTb4b4b4(Te6edf3daysTb4b4b4: Tffa657IntTb4b4b4)
Tff7b72val Te6edf3loggingEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetLoggingEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72companion Tff7b72object Tb4b4b4{
Tff7b72const Tff7b72val Te6edf3DEFAULT_RETENTION_DAYS Tff7b72= T79c0ff3T79c0ff0
Tff7b72const Tff7b72val Te6edf3MIN_RETENTION_DAYS Tff7b72= Tff7b72-T79c0ff1
Tff7b72const Tff7b72val Te6edf3MAX_RETENTION_DAYS Tff7b72= T79c0ff3T79c0ff6T79c0ff5
Tb4b4b4}
Tb4b4b4}
T8b949e/** Reactive interface for emoji preferences. */
Tff7b72interface T56d364CustomEmojiPrefs Tb4b4b4{
Tff7b72val Te6edf3customEmojiFrequencyTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657String?Tff7b72>
Tff7b72val Te6edf3preferredSkinToneIndexTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72>
Tff7b72fun Td2a8ffsetCustomEmojiFrequencyTb4b4b4(Te6edf3frequencyTb4b4b4: Tffa657String?Tb4b4b4)
Tff7b72fun Td2a8ffsetPreferredSkinToneIndexTb4b4b4(Te6edf3indexTb4b4b4: Tffa657IntTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for general UI preferences. */
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffTooManyFunctionsTa5d6ff"Tb4b4b4)
Tff7b72interface T56d364UiPrefs Tb4b4b4{
Tff7b72val Te6edf3appIntroCompletedTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetAppIntroCompletedTb4b4b4(Te6edf3completedTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3themeTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72>
Tff7b72fun Td2a8ffsetThemeTb4b4b4(Te6edf3valueTb4b4b4: Tffa657IntTb4b4b4)
Tff7b72val Te6edf3localeTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657StringTff7b72>
Tff7b72fun Td2a8ffsetLocaleTb4b4b4(Te6edf3languageTagTb4b4b4: Tffa657StringTb4b4b4)
Tff7b72val Te6edf3nodeSortTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72>
Tff7b72fun Td2a8ffsetNodeSortTb4b4b4(Te6edf3valueTb4b4b4: Tffa657IntTb4b4b4)
Tff7b72val Te6edf3includeUnknownTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetIncludeUnknownTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3excludeInfrastructureTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetExcludeInfrastructureTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3onlyOnlineTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetOnlyOnlineTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3onlyDirectTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetOnlyDirectTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3showIgnoredTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShowIgnoredTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3excludeMqttTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetExcludeMqttTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3hasShownNotPairedWarningTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetHasShownNotPairedWarningTb4b4b4(Te6edf3shownTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3showQuickChatTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShowQuickChatTb4b4b4(Te6edf3showTb4b4b4: Tffa657BooleanTb4b4b4)
T8b949e/** Whether BLE scanning should auto-start when the Connections screen is opened. */
Tff7b72val Te6edf3bleAutoScanTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetBleAutoScanTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
T8b949e/** Whether NSD network scanning should auto-start when the Connections screen is opened. */
Tff7b72val Te6edf3networkAutoScanTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetNetworkAutoScanTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
T8b949e/** User-selected Connections transport pane, or null when the screen should derive a default. */
Tff7b72val Te6edf3selectedConnectionTransportTb4b4b4: Te6edf3StateFlowTff7b72<Te6edf3DeviceType?Tff7b72>
Tff7b72fun Td2a8ffsetSelectedConnectionTransportTb4b4b4(Te6edf3typeTb4b4b4: Te6edf3DeviceTypeTb4b4b4)
Tff7b72fun Td2a8ffshouldProvideNodeLocationTb4b4b4(Te6edf3nodeNumTb4b4b4: Tffa657IntTb4b4b4)Tb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldProvideNodeLocationTb4b4b4(Te6edf3nodeNumTb4b4b4: Tffa657IntTb4b4b4, Te6edf3provideTb4b4b4: Tffa657BooleanTb4b4b4)
T8b949e// Node list layout preferences
T8b949e/** Active density mode stored as the enum name (e.g. "COMPLETE", "COMPACT"). */
Tff7b72val Te6edf3nodeListDensityTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657StringTff7b72>
Tff7b72fun Td2a8ffsetNodeListDensityTb4b4b4(Te6edf3valueTb4b4b4: Tffa657StringTb4b4b4)
Tff7b72val Te6edf3shouldShowPowerTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowPowerTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3shouldShowLastHeardTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowLastHeardTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3lastHeardIsRelativeTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetLastHeardIsRelativeTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3shouldShowLocationTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowLocationTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3shouldShowHopsTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowHopsTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3shouldShowSignalTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowSignalTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3shouldShowChannelTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowChannelTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3shouldShowRoleTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowRoleTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3shouldShowTelemetryTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldShowTelemetryTb4b4b4(Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for notification preferences. */
Tff7b72interface T56d364NotificationPrefs Tb4b4b4{
Tff7b72val Te6edf3messagesEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetMessagesEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3nodeEventsEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetNodeEventsEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3nodeEventsAutoDisabledForEventTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetNodeEventsAutoDisabledForEventTb4b4b4(Te6edf3disabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3lowBatteryEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetLowBatteryEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for general map preferences. */
Tff7b72interface T56d364MapPrefs Tb4b4b4{
Tff7b72val Te6edf3mapStyleTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72>
Tff7b72fun Td2a8ffsetMapStyleTb4b4b4(Te6edf3styleTb4b4b4: Tffa657IntTb4b4b4)
Tff7b72val Te6edf3showOnlyFavoritesTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShowOnlyFavoritesTb4b4b4(Te6edf3showTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3showWaypointsOnMapTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShowWaypointsOnMapTb4b4b4(Te6edf3showTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3showPrecisionCircleOnMapTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShowPrecisionCircleOnMapTb4b4b4(Te6edf3showTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3lastHeardFilterTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657LongTff7b72>
Tff7b72fun Td2a8ffsetLastHeardFilterTb4b4b4(Te6edf3secondsTb4b4b4: Tffa657LongTb4b4b4)
Tff7b72val Te6edf3lastHeardTrackFilterTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657LongTff7b72>
Tff7b72fun Td2a8ffsetLastHeardTrackFilterTb4b4b4(Te6edf3secondsTb4b4b4: Tffa657LongTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for map consent. */
Tff7b72interface T56d364MapConsentPrefs Tb4b4b4{
Tff7b72fun Td2a8ffshouldReportLocationTb4b4b4(Te6edf3nodeNumTb4b4b4: Tffa657Int?Tb4b4b4)Tb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetShouldReportLocationTb4b4b4(Te6edf3nodeNumTb4b4b4: Tffa657Int?Tb4b4b4, Te6edf3reportTb4b4b4: Tffa657BooleanTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for map tile provider settings. */
Tff7b72interface T56d364MapTileProviderPrefs Tb4b4b4{
Tff7b72val Te6edf3customTileProvidersTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657String?Tff7b72>
Tff7b72fun Td2a8ffsetCustomTileProvidersTb4b4b4(Te6edf3providersTb4b4b4: Tffa657String?Tb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for radio settings. */
Tff7b72interface T56d364RadioPrefs Tb4b4b4{
Tff7b72val Te6edf3devAddrTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657String?Tff7b72>
T8b949e/** The persisted user-visible name of the connected device (e.g. "Meshtastic_1234"). */
Tff7b72val Te6edf3devNameTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657String?Tff7b72>
Tff7b72fun Td2a8ffsetDevAddrTb4b4b4(Te6edf3addressTb4b4b4: Tffa657String?Tb4b4b4)
Tff7b72fun Td2a8ffsetDevNameTb4b4b4(Te6edf3nameTb4b4b4: Tffa657String?Tb4b4b4)
Tb4b4b4}
Tff7b72fun Te6edf3RadioPrefsTb4b4b4.Td2a8ffisBleTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3devAddrTb4b4b4.Te6edf3valueTff7b72?.Te6edf3startsWithTb4b4b4(Ta5d6ff"Ta5d6ffxTa5d6ff"Tb4b4b4) Tff7b72=Tff7b72= Tff7b72true
Tff7b72fun Te6edf3RadioPrefsTb4b4b4.Td2a8ffisSerialTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3devAddrTb4b4b4.Te6edf3valueTff7b72?.Te6edf3startsWithTb4b4b4(Ta5d6ff"Ta5d6ffsTa5d6ff"Tb4b4b4) Tff7b72=Tff7b72= Tff7b72true
Tff7b72fun Te6edf3RadioPrefsTb4b4b4.Td2a8ffisMockTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3devAddrTb4b4b4.Te6edf3valueTff7b72?.Te6edf3startsWithTb4b4b4(Ta5d6ff"Ta5d6ffmTa5d6ff"Tb4b4b4) Tff7b72=Tff7b72= Tff7b72true
Tff7b72fun Te6edf3RadioPrefsTb4b4b4.Td2a8ffisTcpTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3devAddrTb4b4b4.Te6edf3valueTff7b72?.Te6edf3startsWithTb4b4b4(Ta5d6ff"Ta5d6fftTa5d6ff"Tb4b4b4) Tff7b72=Tff7b72= Tff7b72true
Tff7b72fun Te6edf3RadioPrefsTb4b4b4.Td2a8ffisNoopTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3devAddrTb4b4b4.Te6edf3valueTff7b72?.Te6edf3startsWithTb4b4b4(Ta5d6ff"Ta5d6ffnTa5d6ff"Tb4b4b4) Tff7b72=Tff7b72= Tff7b72true
T8b949e/** Reactive interface for mesh connection settings. */
Tff7b72interface T56d364MeshPrefs Tb4b4b4{
Tff7b72val Te6edf3deviceAddressTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657String?Tff7b72>
Tff7b72fun Td2a8ffsetDeviceAddressTb4b4b4(Te6edf3addressTb4b4b4: Tffa657String?Tb4b4b4)
Tff7b72fun Td2a8ffgetStoreForwardLastRequestTb4b4b4(Te6edf3addressTb4b4b4: Tffa657String?Tb4b4b4)Tb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72>
Tff7b72fun Td2a8ffsetStoreForwardLastRequestTb4b4b4(Te6edf3addressTb4b4b4: Tffa657String?Tb4b4b4, Te6edf3timestampTb4b4b4: Tffa657IntTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for TAK server settings. */
Tff7b72interface T56d364TakPrefs Tb4b4b4{
Tff7b72val Te6edf3isTakServerEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetTakServerEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tb4b4b4}
T8b949e/** Reactive interface for App Functions (system AI integration) preferences. */
Tff7b72interface T56d364AppFunctionsPrefs Tb4b4b4{
Tff7b72val Te6edf3masterEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetMasterEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3sendMessageEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetSendMessageEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getMeshStatusEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetMeshStatusEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getNodeListEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetNodeListEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getChannelInfoEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetChannelInfoEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getDeviceStatusEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetDeviceStatusEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getNodeDetailsEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetNodeDetailsEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getMeshMetricsEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetMeshMetricsEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getRecentMessagesEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetRecentMessagesEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3getUnreadSummaryEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetGetUnreadSummaryEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tb4b4b4}
T8b949e/** Consolidated interface for all application preferences. */
Tff7b72interface T56d364AppPreferences Tb4b4b4{
Tff7b72val Te6edf3analyticsTb4b4b4: Te6edf3AnalyticsPrefs
Tff7b72val Te6edf3appFunctionsTb4b4b4: Te6edf3AppFunctionsPrefs
Tff7b72val Te6edf3homoglyphTb4b4b4: Te6edf3HomoglyphPrefs
Tff7b72val Te6edf3filterTb4b4b4: Te6edf3FilterPrefs
Tff7b72val Te6edf3meshLogTb4b4b4: Te6edf3MeshLogPrefs
Tff7b72val Te6edf3emojiTb4b4b4: Te6edf3CustomEmojiPrefs
Tff7b72val Te6edf3uiTb4b4b4: Te6edf3UiPrefs
Tff7b72val Te6edf3mapTb4b4b4: Te6edf3MapPrefs
Tff7b72val Te6edf3mapConsentTb4b4b4: Te6edf3MapConsentPrefs
Tff7b72val Te6edf3mapTileProviderTb4b4b4: Te6edf3MapTileProviderPrefs
Tff7b72val Te6edf3radioTb4b4b4: Te6edf3RadioPrefs
Tff7b72val Te6edf3meshTb4b4b4: Te6edf3MeshPrefs
Tff7b72val Te6edf3takTb4b4b4: Te6edf3TakPrefs
Tff7b72val Te6edf3discoveryTb4b4b4: Te6edf3DiscoveryPrefs
Tb4b4b4}
T8b949e/** Reactive interface for Local Mesh Discovery scan preferences. */
Tff7b72interface T56d364DiscoveryPrefs Tb4b4b4{
Tff7b72val Te6edf3dwellMinutesTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72>
Tff7b72fun Td2a8ffsetDwellMinutesTb4b4b4(Te6edf3minutesTb4b4b4: Tffa657IntTb4b4b4)
Tff7b72val Te6edf3selectedPresetsTb4b4b4: Te6edf3StateFlowTff7b72<Te6edf3SetTff7b72<Tffa657StringTff7b72>Tff7b72>
Tff7b72fun Td2a8ffsetSelectedPresetsTb4b4b4(Te6edf3presetsTb4b4b4: Te6edf3SetTff7b72<Tffa657StringTff7b72>Tb4b4b4)
Tff7b72val Te6edf3aiEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetAiEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72val Te6edf3topologyOverlayEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72>
Tff7b72fun Td2a8ffsetTopologyOverlayEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4)
Tff7b72companion Tff7b72object Tb4b4b4{
Tff7b72const Tff7b72val Te6edf3DEFAULT_DWELL_MINUTES Tff7b72= T79c0ff1T79c0ff5
Tb4b4b4}
Tb4b4b4}
T8b949e/**
* Reactive persistence for received Mesh Beacon invitations. Records are opaque, self-describing strings (see
* `MeshBeaconOffer.encode`) so this prefs layer stays free of proto/model types.
*/
Tff7b72interface T56d364MeshBeaconPrefs Tb4b4b4{
Tff7b72val Te6edf3storedBeaconsTb4b4b4: Te6edf3StateFlowTff7b72<Te6edf3ListTff7b72<Tffa657StringTff7b72>Tff7b72>
Tff7b72fun Td2a8ffsetStoredBeaconsTb4b4b4(Te6edf3recordsTb4b4b4: Te6edf3ListTff7b72<Tffa657StringTff7b72>Tb4b4b4)
Tb4b4b4}
Served by rngit 1.5.0 - Generated in 0.08s